Análisis exploratorio de datos climáticos Realizamos un estudio gráfico de la evolución de la temperatura global desde 1850. Queremos saber:

Si ha habido un aumento significativo de la misma. Si se producen más anomalías que antes térmicamente. Sacar ideas y descriptores a partir de la información proporcionada.

rm(list=ls())
library(reshape2) #facilita la trasnformación entre diferentes formatos de datos.
library(plotly) #https://plot.ly/r/

Global Land and Ocean-and-Land Temperatures (GlobalTemperatures.csv):

Date: starts in 1750 for average land temperature and 1850 for max and min land temperatures and global ocean and land temperatures LandAverageTemperature: global average land temperature in celsius LandAverageTemperatureUncertainty: the 95% confidence interval around the average LandMaxTemperature: global average maximum land temperature in celsius LandMaxTemperatureUncertainty: the 95% confidence interval around the maximum land temperature LandMinTemperature: global average minimum land temperature in celsius LandMinTemperatureUncertainty: the 95% confidence interval around the minimum land temperature LandAndOceanAverageTemperature: global average land and ocean temperature in celsius LandAndOceanAverageTemperatureUncertainty: the 95% confidence interval around the global average land and ocean temperature

temperaturas<-read.csv("recursos/GlobalTemperatures.csv")
head(temperaturas)
# eliminamos los valores faltantes
temperaturas <- na.omit(temperaturas)
temperaturas
# damos formato de fecha a la columna dt (Date)
temperaturas$dt <- as.Date(temperaturas$dt,"%Y-%m-%d")
# creamos una columna con información de mes y otra con información de año 
temperaturas$Month<-as.numeric(format(temperaturas$dt,"%m"))
temperaturas$Month.String<-format(temperaturas$dt,"%B")
temperaturas$Year<-as.numeric(format(temperaturas$dt,"%Y"))
temperaturas
head(df, 20)
                                              
1 function (x, df1, df2, ncp, log = FALSE)    
2 {                                           
3     if (missing(ncp))                       
4         .Call(C_df, x, df1, df2, log)       
5     else .Call(C_dnf, x, df1, df2, ncp, log)
6 }                                           

Representamos las temperaturas medias por mes desde 1850. Se puede observar claramente que si bien la temperatura de la tierra se mantiene en una subida suave, la de la tierra y océano tiene una subida más pronunciada en el tiempo.

library(ggplot2)
library(dplyr) #https://rsanchezs.gitbooks.io/rprogramming/content/chapter9/dplyr.html
library(plotly)
#Tierra
leyenda=reorder(temperaturas$Month.String,-temperaturas$LandAverageTemperature,mean)   #El "-" permite ordenar al revés
plot_ly(data = temperaturas, x = ~Year, y = ~LandAverageTemperature, color = leyenda) %>%
  layout(legend = list(x = 1, y = 0.8),title='Variación de la Temperatura Terrestre')

#Mar y tierra
leyenda=reorder(temperaturas$Month.String,-temperaturas$LandAndOceanAverageTemperature,mean)   #El "-" permite ordenar al revés
plot_ly(data = temperaturas, x = ~Year, y = ~LandAndOceanAverageTemperature, color = leyenda) %>%
  layout(legend = list(x = 1, y = 0.8),title='Variación de la Temperatura Media de Mar y Tierra')
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKQW7DoWxpc2lzIGV4cGxvcmF0b3JpbyBkZSBkYXRvcyBjbGltw6F0aWNvcwpSZWFsaXphbW9zIHVuIGVzdHVkaW8gZ3LDoWZpY28gZGUgbGEgZXZvbHVjacOzbiBkZSBsYSB0ZW1wZXJhdHVyYSBnbG9iYWwgZGVzZGUgMTg1MC4gUXVlcmVtb3Mgc2FiZXI6CgpTaSBoYSBoYWJpZG8gdW4gYXVtZW50byBzaWduaWZpY2F0aXZvIGRlIGxhIG1pc21hLgpTaSBzZSBwcm9kdWNlbiBtw6FzIGFub21hbMOtYXMgcXVlIGFudGVzIHTDqXJtaWNhbWVudGUuClNhY2FyIGlkZWFzIHkgZGVzY3JpcHRvcmVzIGEgcGFydGlyIGRlIGxhIGluZm9ybWFjacOzbiBwcm9wb3JjaW9uYWRhLgoKYGBge3J9CnJtKGxpc3Q9bHMoKSkKYGBgCgpgYGB7cn0KbGlicmFyeShyZXNoYXBlMikgI2ZhY2lsaXRhIGxhIHRyYXNuZm9ybWFjacOzbiBlbnRyZSBkaWZlcmVudGVzIGZvcm1hdG9zIGRlIGRhdG9zLgpsaWJyYXJ5KHBsb3RseSkgI2h0dHBzOi8vcGxvdC5seS9yLwpgYGAKCgpHbG9iYWwgTGFuZCBhbmQgT2NlYW4tYW5kLUxhbmQgVGVtcGVyYXR1cmVzIChHbG9iYWxUZW1wZXJhdHVyZXMuY3N2KToKCkRhdGU6IHN0YXJ0cyBpbiAxNzUwIGZvciBhdmVyYWdlIGxhbmQgdGVtcGVyYXR1cmUgYW5kIDE4NTAgZm9yIG1heCBhbmQgbWluIGxhbmQgdGVtcGVyYXR1cmVzIGFuZCBnbG9iYWwgb2NlYW4gYW5kIGxhbmQgdGVtcGVyYXR1cmVzCkxhbmRBdmVyYWdlVGVtcGVyYXR1cmU6IGdsb2JhbCBhdmVyYWdlIGxhbmQgdGVtcGVyYXR1cmUgaW4gY2Vsc2l1cwpMYW5kQXZlcmFnZVRlbXBlcmF0dXJlVW5jZXJ0YWludHk6IHRoZSA5NSUgY29uZmlkZW5jZSBpbnRlcnZhbCBhcm91bmQgdGhlIGF2ZXJhZ2UKTGFuZE1heFRlbXBlcmF0dXJlOiBnbG9iYWwgYXZlcmFnZSBtYXhpbXVtIGxhbmQgdGVtcGVyYXR1cmUgaW4gY2Vsc2l1cwpMYW5kTWF4VGVtcGVyYXR1cmVVbmNlcnRhaW50eTogdGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsIGFyb3VuZCB0aGUgbWF4aW11bSBsYW5kIHRlbXBlcmF0dXJlCkxhbmRNaW5UZW1wZXJhdHVyZTogZ2xvYmFsIGF2ZXJhZ2UgbWluaW11bSBsYW5kIHRlbXBlcmF0dXJlIGluIGNlbHNpdXMKTGFuZE1pblRlbXBlcmF0dXJlVW5jZXJ0YWludHk6IHRoZSA5NSUgY29uZmlkZW5jZSBpbnRlcnZhbCBhcm91bmQgdGhlIG1pbmltdW0gbGFuZCB0ZW1wZXJhdHVyZQpMYW5kQW5kT2NlYW5BdmVyYWdlVGVtcGVyYXR1cmU6IGdsb2JhbCBhdmVyYWdlIGxhbmQgYW5kIG9jZWFuIHRlbXBlcmF0dXJlIGluIGNlbHNpdXMKTGFuZEFuZE9jZWFuQXZlcmFnZVRlbXBlcmF0dXJlVW5jZXJ0YWludHk6IHRoZSA5NSUgY29uZmlkZW5jZSBpbnRlcnZhbCBhcm91bmQgdGhlIGdsb2JhbCBhdmVyYWdlIGxhbmQgYW5kIG9jZWFuIHRlbXBlcmF0dXJlCgpgYGB7cn0KdGVtcGVyYXR1cmFzPC1yZWFkLmNzdigicmVjdXJzb3MvR2xvYmFsVGVtcGVyYXR1cmVzLmNzdiIpCmhlYWQodGVtcGVyYXR1cmFzKQoKYGBgCgpgYGB7cn0KIyBlbGltaW5hbW9zIGxvcyB2YWxvcmVzIGZhbHRhbnRlcwp0ZW1wZXJhdHVyYXMgPC0gbmEub21pdCh0ZW1wZXJhdHVyYXMpCgojIGRhbW9zIGZvcm1hdG8gZGUgZmVjaGEgYSBsYSBjb2x1bW5hIGR0IChEYXRlKQp0ZW1wZXJhdHVyYXMkZHQgPC0gYXMuRGF0ZSh0ZW1wZXJhdHVyYXMkZHQsIiVZLSVtLSVkIikKCiMgY3JlYW1vcyB1bmEgY29sdW1uYSBjb24gaW5mb3JtYWNpw7NuIGRlIG1lcyB5IG90cmEgY29uIGluZm9ybWFjacOzbiBkZSBhw7FvIAp0ZW1wZXJhdHVyYXMkTW9udGg8LWFzLm51bWVyaWMoZm9ybWF0KHRlbXBlcmF0dXJhcyRkdCwiJW0iKSkKdGVtcGVyYXR1cmFzJE1vbnRoLlN0cmluZzwtZm9ybWF0KHRlbXBlcmF0dXJhcyRkdCwiJUIiKQp0ZW1wZXJhdHVyYXMkWWVhcjwtYXMubnVtZXJpYyhmb3JtYXQodGVtcGVyYXR1cmFzJGR0LCIlWSIpKQoKdGVtcGVyYXR1cmFzCgpoZWFkKGRmLCAyMCkKYGBgCgoKUmVwcmVzZW50YW1vcyBsYXMgdGVtcGVyYXR1cmFzIG1lZGlhcyBwb3IgbWVzIGRlc2RlIDE4NTAuIFNlIHB1ZWRlIG9ic2VydmFyIGNsYXJhbWVudGUgcXVlIHNpIGJpZW4gbGEgdGVtcGVyYXR1cmEgZGUgbGEgdGllcnJhIHNlIG1hbnRpZW5lIGVuIHVuYSBzdWJpZGEgc3VhdmUsIGxhIGRlIGxhIHRpZXJyYSB5IG9jw6lhbm8gdGllbmUgdW5hIHN1YmlkYSBtw6FzIHByb251bmNpYWRhIGVuIGVsIHRpZW1wby4KCmBgYHtyIHJlc3VsdHM9J2FzaXMnLG1lc3NhZ2U9RkFMU0Usd2FybmluZz1GQUxTRX0KbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGRwbHlyKSAjaHR0cHM6Ly9yc2FuY2hlenMuZ2l0Ym9va3MuaW8vcnByb2dyYW1taW5nL2NvbnRlbnQvY2hhcHRlcjkvZHBseXIuaHRtbApsaWJyYXJ5KHBsb3RseSkKCiNUaWVycmEKbGV5ZW5kYT1yZW9yZGVyKHRlbXBlcmF0dXJhcyRNb250aC5TdHJpbmcsLXRlbXBlcmF0dXJhcyRMYW5kQXZlcmFnZVRlbXBlcmF0dXJlLG1lYW4pICAgI0VsICItIiBwZXJtaXRlIG9yZGVuYXIgYWwgcmV2w6lzCnBsb3RfbHkoZGF0YSA9IHRlbXBlcmF0dXJhcywgeCA9IH5ZZWFyLCB5ID0gfkxhbmRBdmVyYWdlVGVtcGVyYXR1cmUsIGNvbG9yID0gbGV5ZW5kYSkgJT4lCiAgbGF5b3V0KGxlZ2VuZCA9IGxpc3QoeCA9IDEsIHkgPSAwLjgpLHRpdGxlPSdWYXJpYWNpw7NuIGRlIGxhIFRlbXBlcmF0dXJhIFRlcnJlc3RyZScpCgojTWFyIHkgdGllcnJhCmxleWVuZGE9cmVvcmRlcih0ZW1wZXJhdHVyYXMkTW9udGguU3RyaW5nLC10ZW1wZXJhdHVyYXMkTGFuZEFuZE9jZWFuQXZlcmFnZVRlbXBlcmF0dXJlLG1lYW4pICAgI0VsICItIiBwZXJtaXRlIG9yZGVuYXIgYWwgcmV2w6lzCnBsb3RfbHkoZGF0YSA9IHRlbXBlcmF0dXJhcywgeCA9IH5ZZWFyLCB5ID0gfkxhbmRBbmRPY2VhbkF2ZXJhZ2VUZW1wZXJhdHVyZSwgY29sb3IgPSBsZXllbmRhKSAlPiUKICBsYXlvdXQobGVnZW5kID0gbGlzdCh4ID0gMSwgeSA9IDAuOCksdGl0bGU9J1ZhcmlhY2nDs24gZGUgbGEgVGVtcGVyYXR1cmEgTWVkaWEgZGUgTWFyIHkgVGllcnJhJykKCmBgYAoKCg==